z
E
U
s
• Copyright
1983
Cosmopolitan
Electronic*
Corporation
(TOO Plymouth Ro»d
Ann Arbor. Ml 4410S
INTRODUCTION
Cosmopolitan Electronics Corporation distributes all software on an
"as-is" basis without warranty. Cosmopolitan Electronics Corporation
shall not be liable or responsible to the purchaser with respect to
liability, loss, or damage caused or alleged to be caused directly or
indirectly by the use of this software, which includes but is not
limited to any interruption of service, loss of business, anticipatory
profits, or consequential damage resulting from the operation or use
of this software.
ZEUS is copyrighted with all rights reserved. Copying, duplicating,
selling, or any unauthorized distributing of this product is expressly
forbidden. In accepting this product, the purchaser recognizes and
accepts this agreement.
Throughout this manual references are made to trademarked products
The (tm) symbol is used once here to serve throughout the manual.
DOSPLUS (tm) Micro Systems Software.
LDOS (tm) Logical Systems, Inc.
NEWDOS/80 (tm) Apparat, Inc.
TRSDOS (tm) Radio Shack, a division of Tandy Corp.
Z80 (tm) Zilog, Inc.
ZEUS
Copyright (c) 1983 by Cosmopolitan Electronics Corporation.
♦ZEUS*
Copyright (c) 1983 by Cosmopolitan Electronics Corporation.
This Manual
Copyright (c) 1983 by Cosmopolitan Electronics Corporation.
ACKNOW LEDG EMENT
We would like to thank Rowland Archer, Johnn Audritsh, Mark Feldman,
Andrew Gariepy, Phil Manfield, Mark Robinson, and Dave Welsh for
taking the time to beta test and provide constructive input for ZEUS.
INTRODUCTION
ZEUS COMMANDS
A Assemble.
B Calculator.
C Global change.
D Delete line (s) .
E Edit line.
F Find label.
G LPrint format.
H LPrint line(s) .
I Insert.
J LPrint raw data.
K Kill file.
L Load file.
M Move/Duplicate line(s).
N Reset buffer.
Object/Operand reference.
P Print line (s) .
Q Exit.
R Reference.
S Save file.
T Print label table.
U Usage.
X Recovery on reentry.
Print, as used in the following text, means output to the device in
the video DCB (401DH) •
Lprint, as used in the following text, means output to the device in
the printer DCB (4025H) .
Page 1-2
INTRODUCTION
The "ZEUS" files on the *ZEUS* diskette are:
ZEUS/CMD - Editor/Assembler.
ZCON/CMD - DOS configuration program and default forms.
Z80E/ASM - Source code of 794 Z80 intructions in numeric order.
ZEUS is executed by entering:
ZEUS
At the DOS command level.
ZEUS/CMD will work "as is" on DBLDOS, DOSPLUS, MULTIDOS, NEWDOS,
ULTRADOS, Z'DOS, and Model III TRSDOS version 1.3. However, ZEUS/CMD
must be modified to work with Model I TRSDOS, Model III TRSDOS 1.0,
1.1, 1.2, VTOS and LDOS.
The ZEUS diskette is a read only, 35 cylinder, single sided diskette,
with the directory on cylinder/lump 17. (The DOS is described in
Section 4) .
A sophisticated DOS (DOSPLUS, LDOS, MULTIDOS, NEWDOS/80, & Z'DOS) can
be configured to read the ZEUS diskette directly. However, if
Model III TRSDOS is used, then "CONVERT" the files from the ZEUS
diskette to the Model III TRSDOS diskette.
If a sophisticated DOS will be used in drive zero, copy the three
files to this DOS.
Model I users of TRSDOS, NEWDOS/2.1, VTOS, ULTRADOS, and DBLDOS will
be confronted with the "address mark" syndrom. To avoid grinding away
at the ZEUS diskette ten times, boot the ZEUS diskette in drive and
place the ancient DOS into drive one. Use ZEUS copy function, "$", to
copy the files using the following syntax:
With two drives
$ ZEUS/CMD 1
or with one drive
$ $ZEUS/CMD {swap as directed. NOT every prompt requires a swap!}
Use the appropriate procedure to copy the other two files to the
ancient DOS. After all three files have been copied, the user must
reset the directory address marks on the ancient DOS by keying in:
SETDIR :d (0) {d = drive ancient DOS will be in}
ZEUS is now on the DOS to be used in drive zero.
Page 1-3
INTRODUCTION
ZEUS has its own forms to explicitly control the printout of source
text. ZEUS forms must be active to utilize all of the assemblers
printout functions.
To load the forms code, enter
ZEUS F
At the DOS comand level. Or configure ZEUS/CMD to automatically load
the forms code.
The configuration program, ZCON/CMD, will modify ZEUS/CMD to execute
properly with all of the popular operating systems (DOS) , alter the
default ZEUS forms parameters, and configure ZEUS/CND to automatically
load the ZEUS forms code upon entry.
ZCON/CMD is accessed by entering:
ZCON
In responce to the DOS command prompt.
ZCON/CMD is menu driven, and self explanatory.
The default condition of ZEUS is:
DOS selection ■ 2.
FORMS parameters
printed lines per page - 60.
number of charaacters per line ■ 80
total number of printed lines per page * 66
auto forms ■ N
INTRODUCTION
FILENAMES
ZEUS will automatically append "/ASM" to all user prompted source
filenames, and "/CMD to all object code filenames which do not include
an extention. Since, the GET instruction is not user prompted, an
extention, if part of the GET file, must be in the filespec of the GET
instruction. To access a user prompted file without an extention,
append a "/" immediately behind the filename.
EXAMPLES:
User input
Filespec given to DOS
DOGGY
K00 L.MAN
COLUMNS: 2
TABLES. MONKEY :0
MOVIE/INC
VIDEO/SOR.CAR
KILLER/GET: 2
OVERMAKE/SRC . FUNNY : 1
SEXY/
MUCHO/.GIRL
WOMAN/: 3
C0LDHEAT/.SUN:3
DOGGY/ASM
KOOL/ASM.MAN
COLUMNS/ASM: 2
TABLES/ASM. MONKEY:
MOVIE/INC
VIDEO/SOR.CAR
KILLER/GET: 2
OVERMAKE/SRC . FUNNY : 1
SEXY
MUCHO.GIRL
WOMAN : 3
C0LDHEAT.SUN:3
ZEUS I/O
Throughout this manual, the words print and Lprint are used to
designate ZEUS output.
Print is used whenever output is directed to the device in the video
DCB at 401DH.
Lprint is used whenever output is directed to the device in the
printer DCB at 4025H.
ZEUS uses the *KI device at 401EH for all keyboard input, but scans
the 3800H page of RAM to implement PAUSE, control keys, and to
distinguish a shift "ENTER" from a non-shift "ENTER".
Disk I/O is performed by using the ROM calls at 0013H and 001BH for
byte I/O, and the DOS vectors at 4436H and 4439H for sector I/O. ZEUS
uses 256 as the logical record length for all files.
Page 1-5
INTRODUCTION
GLOSSARY
ASCII format - Alphanumeric source code stored without line numbers.
Current line - The last printed text buffer line.
EDTASN format - Source code stored with a header byte, X'D3', followed
by a six character name, alphanumeric text with each line preceded by
a five character line number with the high bit set, and a terminator
byte, X'lA'.
LABEL - A string used to symbolicly represent a value.
Mnemonic - An assembly language instruction.
Object code - Binary code directly executable by the microprocessor.
Operator - A single symbol describing an operation to be performed.
Psuedo-op - Special orders given by the programmer to the assembler,
which do not generate object code.
Relative address - The value for the beginning of the current
instruction.
Source code - The symbolic representation of LABELS and mnemonics,
which the assembler translates into specific object code.
Text buffer - The RAM resident storage area for source code.
REFERENCE MANUAL NOTATION
< > Carats enclose a key to be pressed. The ■<■ and ■>■ are not
keyed in.
i.e. <ENTER> « Press the "ENTER" key.
i.e. <BREAK> = Press the "BREAK" key.
i.e. <N> = Press the "N" key.
{ } Braces enclose manual comments. The braces "{and the
enclosed comment}" are not keyed in.
i.e. {will be shown...}
{ ] Brackets enclose optional parameters. The brackets "[" and
"]" are not keyed in.
i.e. [H]
... Ellipses represent the repetition of an optional parameter.
i.e. [,EXP] [,EXP] [,...]
RELNUM RELNUM is a parameter which may be 1) a number which
represents a relative line in the text buffer, or 2) a LABEL
which indirectly represents a relative line in the text
buffer where LABEL is in the label field.
# The pound sign is a RELNUM parameter for line #1.
* The asterisk is a RELNUM parameter for the highest line.
The period is a RELNUM parameter for the current line.
< Less than modifier for RELNUM. (One number less)
i.e. <354. {parameter = 353}
n-*^. ~ i -C
ZEUS FUNCTIONAL COMMANDS
ZEUS SYNTAX
SINGLE KEYSTROKE COMMANDS
Single keystroke commands, must
prompt, ">" is printed.
be the first keystroke after the
<UP-ARROW>
<DOWN-ARROW>
<ENTER>
<SHIFTXENTER>
<SHIPTXUP-ARROW>
<SHIFTXRIGHT-ARROW>
. {period}
Print next lower line, if exists, otherwise
print line #1 (first line).
Print next higher line, if exists, otherwise
null .
Print page from current line.
Print page to current line, first
Subsequent presses, print page
line less 14.
Print line #1 (first line).
Print the highest line.
Print current line.
press,
to current
PAUSE COMMAND
<SPACE>
The <SPACE> will pause printing. After a
pause, single step with <SPACE>, continue
with <ENTER>, or abort with <BREAK>.
CURSOR MOVES
<RIGHT-ARROW>
<SHIFTXSPACE>
<LEFT-ARROW>
<SHIFTXLEFT-ARROW>
Move the cursor to the next TAB position.
Move the cursor to the next TAB position.
Backspace one position and remove character
at the new cursor position.
Erase all characters previously keyed in, and
position cursor to the first input position.
INTERPRET/ ABORT
The "ENTER" key is used to signify completion of an user input
command. All commands are terminated with <ENTER>.
The "BREAK" key will abort any user command, and return the user to
the command prompt ">".
ZEUS SYNTAX
In order for the assembler to translate source code into object code,
a specific format is required when entering text. Fields are used to
distinguish the various zones in a source text line for the symbolic
representation of a user's program, and user comments.
The LABEL field, optionally contains a label with a value equivalent
to the relative address of, or by, the instruction which follows.
The OPCODE field contains a Z80 opcode, or a ZEUS psuedo-op.
The OPERAND field contains operands. An operand is one or two groups
of characters separated by a comma.
The INSTRUCTION field contains a opcode and operand consecution -
mnemonic, which will be translated into object code by the assembler.
The COMMENT field, optional, contains user remarks.
SOURCE TEXT LINE:
< FIELDS >
< SYMBOLIC CODE >
< INSTRUCTION >
LINE! [LABEL] OPCODE [OPERAND (S) ] [, -COMMENT]
LINE NUMBERS - The line numbers printed, indicate the relative line in
the text buffer.
LABELS - Labels are a string of characters with every character and
character case significant. To distinguish a label from a numeric
constant, the first character in a label must be a §, A thru Z, [, \,
], * f _, \ a thru z, {, I, }, and "*. The balance of the label can
also have thru 9, :, s , >, or ?.
COMMENT - A comment begins with a semicolon, and overrides any field.
During assembly printing, two additional zones are added to the left
of the line numbers.
< FIELDS >
< SYMBOLIC CODE >
< INSTRUCTION >
ADDR OBJCODE LINE* [LABEL] OPCODE [OPERAND(S)] [;COMMENT]
ADDR - The addr zone contains a hexadecimal number which is either 1)
the relative address of the current instruction, 2) the label value
for the EQU and DEFL psuedo-ops, 3) the length of the space for the
DEFS psuedo-op, or 4) the transfer address for the END psuedo-op.
OBJCODE - The objcode zone contains the hexadecimal object code
translated from the mnemonics.
ZEUS SYNTAX
CONSTANT - A constant is a numeric representation of a value. To
distinguish a numeric constant from a label, the first character must
be numeric or the constant must be enclosed in single quotes. Decimal
constants use the numbers thru 9, and optionally are suffixed with
the letter D. Hexadecimal constants use the numbers thru 9, the
letters A thru F, and are suffixed with the letter H. ASCII constants
use the entire ASCII set and are enclosed in single quotes. The single
character dollar sign, "$"# is the value of the relative address for
the current instruction in which it appears.
EXPRESSION - An expression is a group of characters consisting of two
or more constants and/or labels separated by an operator. Expressions
are evaluated in a left to right order, maintaining an interim result
after processing a constant and/or label, ignoring algebraic
hierarchy, and not recognizing parentheses as a precedence modifier.
The nine ZEUS operators are:
1. + ADDITION. Adds the value following the operator to the interim
result and establishes the sum as the new interim result.
2. - SUBTRACTION. Subtracts the value following the operator from
the interim result and establishes the difference as the new interim
result.
3. * MULTIPLICATION. Multiplies the value following the operator to
the interim result and establishes the product as the new interim
result.
4. / DIVISION. Divides the value following the operator into the
interim result and establishes the integer portion of the quotient as
the new interim result.
5. I Logical OR. Logical OR between the value following the
operator and the interim result establishing a new interim result.
6. # Logical XOR. Logical XOR between the value following the
operator and the interim result establishing a new interim result.
7. & Logical AND. Logical AND between the value following the
operator and the interim result establishing a new interim result.
8. % MODULO. Divides the value following the operator into the
interim result and establishes the integer remainder as the new
interim result.
9. < SHIFT. Shifts the interim result the number of bits of the
value following the operator establishing a new interim result. If the
value following the operator is positive, then the shift is left,
otherwise the shift is right.
Pane 9— "*
ZEUS SYNTAX
PSUEDO-OPS
1. COMM - Comment.
2. DEFB or DB - Define byte(s).
3. DEFL or DL - Define label.
4. DEFM or DM - Define string(s) and/or byte(s). (define message)
5. DEFS or DS - Define space.
6. DEFW or DW - Define word(s).
7. END - Terminate assembly.
8. ENIF - Delimit conditional assembly.
9. ERR - Abort assembly.
10. EQU - Set a label to a value, (equate)
11. GET - Include source from disk file.
12. IF - Begin conditional assembly.
13. LIST - Control printing.
14. ORG - Establish relative address, (origin)
15. PAGE - Lprint linefeeds to top of form.
16. SBTL - Establish a subtitle for Lprint.
17. TITL - Establish the title for Lprint.
Psuedo-ops are entered in the instruction field of a source text line
ZEUS SYNTAX
ZEUS PSU EDO-OP DETAIL
COMM - Generate an object file comment block at the beginning of the
file. COMM is primarily used to put a message on the first sector of a
object file
NOTE: A COMM instruction is only recognized if no object code has been
generated.
Syntax:
00017 COMM 'STRING
STRING is a string of characters 1 to 63 characters in length, and
must be preceded by a single quote. To create a comment greater than
63 characters, add an additional line with a COMM instruction
immediately behind the line with the first COMM instruction. The
assembler will append these STRINGS into one comment.
EXAMPLES:
00003 COMM 'I can't stop loving you.
Generates the comment "I can't stop loving you."
00008 COMM **************** My ** best *
00009 COMM »* program! *****************
Generates a comment block which, when viewed with a "ZAP" utility,
would appear as:
a {tj **************
* My *
* Best *
* Program! *
****************
The comment block on a disk sector is preceded with two bytes. The
first byte will be a X'05', and the second byte will be the length of
the comment.
The layout of this comment is as follows:
1. 14 *'S {adjust for the two bytes preceding comment.}
2. *, 6 Spaces, My, 6 spaces, *
3. *, 5 Spaces, Best, 5 spaces, *
4. *, 3 Spaces, Program!, 3 Spaces, *
5. 16 *'S
Page 2-5
ZEUS SYNTAX
DEPB or DB - Generate a byte(s) at the relative address. DEFB is
primarily used to create single byte lookup tables.
Syntax:
01333
DEFB
BVAL [ f BVAL] [ r BVAL] [,...]
BVAL is a constant, expression, or label with a value of to 255. For
each byte generated, the relative address is incremented by one.
EXAMPLES:
00422
DEFB
00017
DEFB
00324
DEFB
45
46H,63H,73H,74H
78,CAT, , U I {CAT is defined elsewhere}
During assembly printing, only the first byte value is printed.
8923 4E 00324 DEFB 78,CAT,'U'
DEFL or DL - Establishes a value for a label which only can be
redefined with another DEFL psuedo-op. DEFL is primarily used to
perform a complex assembly function. An example of a complex assembly
function is shown at the end of ENIF.
Syntax :
00389 LABEL
DEFL
WVAL
WVAL is a constant, expression, or label. If WVAL is a label or an
expression with a label, and the label has not been established, then
LABEL will have value of zero on the first pass. If WVAL is LABEL then
LABEL will be established as the value of the relative address.
{TOPCO = 78BAH}
{MAKE = relative address}
{KITTEN = 783AH}
{byte value * 3AH}
{KITTEN = 793AH}
{byte value = 79H}
EXAMPLES:
00120 TOPCO
DEFL
78 BAH
00121 MAKE
DEFL
MAKE
00122 KITTEN
DEFL
TOPCO-80H
00123
DEFB
KITTEN&0FFH
00124 KITTEN
DEFL
TOPCO+80H
00125
DB
KITTEN<-8
EXAMPLES:
00317
DEFM
00237
DEFM
01283
DEFM
ZEUS SYNTAX
DEFM or DM - Generate a string (s) , and/or byte(s) at the relative
address. DEFM is primarily used to insert messages into the object
code •
Syntax:
00457 DEFM 'STRING' [ ,BVAL] [/STRING 1 ] [,...]
although DEFM contains DEFB in its repertoire, DEFM can generate
object code from a string of ASCII characters enclosed in single
quotes.
'This is a message.'
'This is a message with a terminator .', 13
28 , 31 , ' ERROR ' , ' 1 ' +80H, 10 , 13
During assembly printing, only the first byte value is printed.
AB77 1C 01283 DEFM 28 , 31 , ' ERROR' , ' I ' +80H, 10,13
DEFS or DS - Increments the relative address by a user defined value.
DEFS is primarily used to retain the contents of a block of memory.
The special case, DEFS 0, is primarily used to easily mark the end
of a table for reference purpses.
Syntax:
00017 DEFS WVAL
WVAL is a constant; expression with labels, if any, previously
defined; or previously defined label with a value between and 65535
inclusive. A DEFS psuedo-op will generate a new loading address for
the object file, which when loaded, will skip over WVAL bytes of RAM.
Therefore, DEFS preserves WVAL bytes of RAM starting at the relative
address.
EXAMPLES:
00056 DEFS 256 {this will leave 256 bytes of RAM
untouched when the object program is
loaded into RAM.}
00330 PICBEG DB 'a' , ■ b' , ' c' , ' d' , ' e' , ' f '
00331 PICEND DEFS
... More source text
00677 LD B,PICEND-PICBEG {loads B with the length of
the table, 6.}
Page 2-7
EXAMPLES:
00188
DEFW
00376
DEFW
ZEUS SYNTAX
DEFW or DW - Generate a word(s) at the relative address. DEFW is
primarily used to create an address table.
Syntax:
00017 DEFW WVAL[,WVAL] [ ,WVAL] [,...]
WVAL is a constant, expression, or label with a value of to 65535
inclusive. For each word generated, the relative address is
incremented by two.
TEST {TEST is defined elsewhere}
4488H,65123,3,12
During assembly printing, only the first word value is printed.
1228 8844 00376 DEFW 4488H,651233,3,12
END - Terminate assembly. END is used to direct the assembler to
ignore any source text which follows. The END psuedo-op in a GET file
will terminate assembly of the GET file and resume assembly from the
source text which has the GET instruction.
Syntax:
00017 END [TRANSFER]
TRANSFER is the address which the DOS program execution routine will
transfer control (hopefully) over to the user program. This address
has also been designated as the program execution point. TRANSFER can
be a constant, expression (unusual), or a previously defined label.
{transfer address 0000H}
402DH {transfer address 402DH}
00001 ORG 7000H
00002 START LD A, (HL) {START = 7000H}
... More source text
02893 RET
02894 END START {transfer address 7000H}
EXAMPLES:
03122
END
02883
END
Page 2-8
ZEUS SYNTAX
ENIP and IP - Conditional assembly psuedo-ops.
Conditional assembly provides the programmer with an efficient tool to
create programs for a variety of conditions. Conditional assembly
source text is structured as follows:
00017 IF EXP
... Conditional source text
00043 ENIF
If EXP is evaluated to a non zero value, then the conditional source
text is assembled. If exp is evaluated to a zero value, then the
conditional source text is not assembled,
or
00017 IF NOT, EXP
... Conditional source text
00043 ENIF
If EXP is evaluated to a zero value, then the conditional source text
is assembled. If exp is evaluated to a non zero value, then the
conditional source text is not assembled.
During an assembly printing, the IF and ENIF text lines, regardless of
the condition, are not printed. If the conditional source code is not
assembled, then the lines which contain the conditional source text
are also not printed.
Typically, the programmer will incorporate at the beginning of the
source text, the status for conditional assembly
00002 NODI
00003 M0D3
DEFL 1
DEFL 1-M0D1
{M0D3 = 0}
Then have subsequent code test this status
00789
IF
MODI
00790
LD
A, (37ECH)
00791
ENIF
00792
IF
M0D3
00793
IN
A, (0F0H)
00794
ENIF
EXAMPLE:
00001
ORG
7000H
00002 DOG
DEFL
DOG-$
00003
IF
NOT, DOG
00004
GET
EQU/ASM
00005
ENIF
The GET instruction on line 00003 will only be executed on
pass. The file EQU/ASM must only have EQU'sl.
the first
Page 2-9
ZEUS SYNTAX
ERR - Abort assembly and display message. The ERR psuedo-op is usually
in a conditional block of source text, set to assemble if an
undesirable situation exists. ERR may also be used to quickly get the
relative address in a program.
Syntax:
00017 ERR 'STRING
If the line containing ERR is assembled, then the relative address is
printed followed by STRING. STRING must be preceded by a single quote.
EXAMPLE:
00001 ORG 7000H
... More source text
01782 RET
01783 ERR 'is the first free byte.
01784 END START
If line 01782 would assemble to relative address 8A21H, then an
assembly would produce
8A22 is the first free byte.
during the first pass.
EQU - Explicitly establish the value for a label. The EQU psuedo-op is
primarily used to symbolically make references to constants.
Syntax:
00017 LABEL EQU WVAL
WVAL is a constant; expression with labels, if any, previously
defined; or previously defined label with a value between and 65535
inclusive.
EXAMPLE:
00002 KEYBRD
EQU
2BH
00003 VIDEO
EQU
33H
00004 PRINT
EQU
3BH
00005 LINEIN
EQU
40H
00006 KBWAIT
EQU
49H
... More source text
00345 VLINE LD A, (HL)
00346 CALL VIDEO
00347 INC HL
00348 CP 0DH
00349 JR NZ, VLINE
00350 RET
Page 2-10
ZEUS SYNTAX
GET - Include source text from disk file. The GET psuedo-op is used to
assemble large amounts of source text, by reading the disk file as
source text instead of the resident text buffer.
Syntax:
00017 GET FILESPEC
If FILESPEC is not found assembly is aborted.
An END instruction is not necessary in a GET file. If an END
instruction is found in a GET file or the end of file is encountered,
then assembly resumes in the source text which has the GET
instruction. 592 Bytes of RAM are dynamically allocated for each
concurrent opened GET file. The limit of nesting GET files is
dependent on the amount of RAM space available.
During assembly printing, the text line with the GET instruction will
not be printed.
LIST - Control assembly printing. The LIST psuedo-op is primarily used
during program development to print only pertinent parts of the
assembled code.
Syntax:
00017 LIST OFF
LIST OFF will disable assembly printing, starting with this line,
or
Syntax:
00033 LIST ON
LIST ON will enable assembly printing with the following line,
provided the N option is not entered under the A command.
Page 2-11
ZEUS SYNTAX
ORG - Establish a new value for relative address. The ORG pseudo-op is
used to direct the assembler where the object code will be.
Syntax:
00001 ORG WVAL
WVAL is a constant; expression with labels, if any, previously
defined; or previously defined label between the values of to 65535
inclusive.
PAGE, SBTL, and TITL - Assembly Lprinting psuedo-ops. These psuedo-ops
dress up the assembly Lprinting by placing a title and subtitle on
each page. The PAGE psuedo-op generates linefeeds to the top of , the
next page.
NOTE: These three psuedo-ops require ZEUS forms, and are not
recognized in a GET file.
Syntax:
00023
TITL
•STRING TITLE
00024
SBTL
•STRING SUBTITLE
00876
PAGE
TITL is used to place a title, STRING TITLE, on the first line on each
page of an assembly Lprinting. Only the first title is Lprinted,
subsequent titles are ignored. The subtitle, SBTL STRING, if exists,
is Lprinted on the line after title. New subtitles may be inserted in
the source text, but will only appear at the next page break.
EXAMPLE:
00023 SBTL •Screen formatting routines.
. . . More source text
00317 SBTL *The DOG is MAN'S best friend.
00318 PAGE
The original subtitle, "Sreen formatting routines.", will be
printed immediately after each title, if exists. When the
assembler processes lines 00317 and 00318, PAGE will
generate linefeeds to the next top of form, then establish
the subtitle, "The DOG is MAN'S best friend.", as the new
subtitle, printing this subtitle on the new page.
During assembly printing, text lines with one of these three
psuedo-ops will not be printed.
ZEUS COMMAND DETAIL
ZEUS COMMANDS
A Assemble.
B Calculator.
C Global change.
D Delete line (s) •
E Edit line.
F Find label.
G LPrint format.
H LPrint line (s) .
I Insert.
J LPrint raw data.
K Kill file.
L Load file.
M Move/Duplicate line(s).
N Reset buffer.
Object/Operand reference.
P Print line (s) .
Q Exit.
R Reference.
S Save file.
T Print label table.
U Usage.
X Recovery on reentry.
Print, as used in the following text, means output to the device in
the video DCB (401DH) .
Lprint, as used in the following text, means output to the device in
the printer DCB (4025H) .
ZEUS COMMAND DETAIL
A - Assemble source code.
Syntax
A[E] [H] [N] [0] [Q] [T[nn]]<ENTER>
E -
H -
N -
-
Wait on error. The E option will call assembly to be
suspended whenever an error occurs. After the error message
and the offending line is printed, assembly can be resumed by
pressing either <SPACE> or <ENTER>.
LPrint link to Print. The H option will
printing to the lineprinter.
link the assembly
Printing off (does not suppress label table) . The N option
will inhibit assembly printing for non-erroneous lines, and
overrides the LIST ON instruction.
Generate object deck. The option directs the assembler to
generate loading instructions as well as object code to a
user selected filespec. If the option is entered, then the
prompt
Filespec:
will be printed. The assembler will automatically append /CMD
to the filename if none was entered, then search for the
filespec .
If the filespec is found, then the query
Overwrite file?
Q -
will be printed. Press <Y> to overwrite file, <N> to return
to the filespec prompt, or <BREAK> to abort assembly.
If the filespec is not found, then the query
Create file?
will be printed. Press <Y> to create a new file, <N> to
return to the filespec prompt, or <BREAK> to abort assembly.
Quit after first pass. The Q option will terminate assembly
if an error is detected during the first pass. After the
assembler makes one pass (builds label table) , the assembler
will not make this first pass again unless Q is entered as an
assembly option, a disk I/O error occurs, or one of the
following commands is invoked.
C,D,E,I,L,M,N, or Q.
The psuedo ops
first pass and
expressions can
error) . The tota
the second pas
both passes. If
pass is not pro
of the second pa
redefinition err
IF, DEFS, DS, EQU, ORG, and END wi
second pass errors if the co
not be evaluated (undefined label, or
1 errors will include the first pass a
s errors, even if the same error is i
the A command is executed again, and
cessed, then the total errors will be
ss only. A repeated label in the la
or, will result in first pass errors o
11 generate
rresponding
expression
s well as
ndicated on
the first
the results
bel field,
nly.
ZEUS COMMAND DETAIL
T - Print label table. The T option will sort the labels in
ascending alphanumeric order, then print the labels and their
corresponding hexadecimal values up to nn characters wide.
NOTE: Options may be 1) in any order, 2) repeated, 3) separated by one
or more spaces, 4) separated by one or more commas, 5) separated
by any combination of spaces and commas, or 6) may not be
separated at all.
EXAMPLE:
ANO {is equivalent to.}
{1} AON {2} A,0,N {3} A,N,0 {4} A
{5} A ,0 ,N {6} A, ,0,,,,N,0,0,N N N etc.
N
EXAMPLE:
A,N,H<ENTER>
{print and Lprint
line (s) , if any. }
error (s) and error
EXAMPLE
AT80H<ENTER>
{print and Lprint source code and label
table using 80 columns for table.}
EXAMPLE
AQE<ENTER>
{pause on error line(s), if any, and
terminate assembly after the first pass
if any errors occured.}
EXAMPLE:
A N<ENTER>
{print error (s) and error line(s), if
any, then print the total errors for the
processed source code.}
The assembler operates in three phases. During the first pass/phase
the assembler creates the label table, and establishes the values for
DEFS, DS, END, EQU , and ORG. If there are no first pass errors, or Q
option not entered, the assembler sets a first phase complete status
byte and continues with the second pass/phase. During the second
pass/phase the assembler will output in accordance to the selected
options, then print the total errors. After the second phase is
complete, the assembler sets a second phase complete status byte.
Additional A commands with the second phase status byte set, will
proceed with phase three/second pass. Phase three is instant assembly
on all processed source code in the text buffer.
This characteristic is unique with ZEUS, and encourages the user to
assemble with "AN", to check for assembly errors, then proceed with
"ANO" for the generation of an object deck, if there are no errors.
The maximum speed is obtained if the user has maximized the amount of
code in the resident text buffer.
ZEUS COMMAND DETAIL
B - Command mode calculator.
Syntax Bexpl [operator exp2] [operator exp3] [ . . .] <ENTER>
Operator can be:
♦ ADD.
- SUBTRACT (also unary) •
* MULTIPLY.
/ DIVIDE.
1 OR.
# XOR.
& AND.
% MODULO.
< SHIFT LEFT.
<- SHIFT RIGHT.
The B command will calculate expressions in the range of to 65535
decimal and/or 0000H to 0FFFFH hexadecimal, returning an integer
result in the range of 00000 to 65535 decimal and 0000H to FFFFH
hexadecimal.
EXAMPLES: {The <ENTER> is left out for clarity.}
B 38 H
00056 0038H
B 56+5
00061 003DH
B 37-3
00034 0022H
B 67D*33
02211 08A3H
B 78/9
00008 0008H
B 5125
00029 001DH
B 0F23H#1A44H
05479 1567H
B 5&-5
00001 0001H
B 89%7+23*6
00168 00A8H
B 89<1
00178 00B2H
B 89<-l
00044 002CH
B 99
00099 0063H
B 56H+5
00091 005BH
B 500-45H
00431 01AFH
B 0AH*0AH
00100 0064H
B 0FE9H/23H
00116 0074H
B 37H123
00055 0037H
B 89#19
00074 004AH
B 23&5/3
00001 0001H
B 89H%7
00004 0004H
B 0FFFFH<8
65280 FF00H
B 0FFFFH<-8
00255 00FFH
B 8C9EH
35998 8C9EH
B 0A0H+23H
00195 00C3H
B 0FFH-255
00000 0000H
B 233*56H
20038 4E46H
B 3C00H/4
03840 0F00H
B 0F132H189DDH
63999 F9FFH
B 99D«78H
00027 001BH
B 89I8&444/2
00012 000CH
B 1234512
00001 0001H
B 0FFFFH<16
00000 0000H
B 566H/23<-3
00007 0007H
Dan a "3 — A
ZEUS COMMAND DETAIL
If the assembler has processed phase one, and the label table is
intact, then the labels created by the assembler can be used as
expressions.
EXAMPLES:
B WORD-BYTE {from the file Z80E/ASM}.
01548 060CH
B OFFSET*3
00090 005AH
B DISPLACEMENT<8/BYTE+WORD
01797 0705H
Calculations are performed on a left to right basis. If an
expression is missing or an operator is used improperly, then
Expression?
is printed, and the B command terminates. If a label is used as
an expression, and this label is not found in the label table,
then
Undefined labell
is printed, and the B command terminates.
EXAMPLES:
B 75-33*
Expression?
B UNCLE+3
Undefined labell
If the resulting calculation exceeds 65535 decimal, FFFFH
hexadecimal, then the results will be a modulo 65536 answer.
EXAMPLES I
B300*512 {300*512=153600. 153600%65536=22528. }
22528 5800H
B65200+500
00164 00A4H
ZEUS COMMAND DETAIL
C - Global change.
Syntax C[OPT]STRl, [STR2] [ ,RELNUM1] [ , RELNUM2]<ENTER>
The C command will change STR1 to STR2 from RELNUM1 to RELNUM2
inclusive. Single quoted text and comments are untouched, unless OPT
is used as specified below. IF STR2 is null, the STR1 will be deleted.
OPT can either be a single quote, or a semicolon. If OPT is a single
quote, then changes will only take place in single quoted text. If OPT
is a semicolon, then changes will only take place in comment text.
If a change in a given line would result in the line exceeding 127
characters in length, then the message
Out of Memory!
will be printed and the C command aborted without changing the line.
The C command will print the line before the change occurs and again
after the change has successfully taken place. The <SPACE> may be used
to pause the C command, and the <BREAK> key to terminate the C
command.
If RELNUM1 is not specified, then line one is used. If RELNUM2 is not
specified and RELNUMl is specified, then RELNUM2 will default to
RELNUM1 (single line change). If neither is specified, then the
changes will take place over the entire text.
EXAMPLES:
C'aborted, terminated {change "aborted" to "terminated",
in single quoted text, throughout
the text buffer}
C DOG,, 4, 37 {delete "DOG", from line 4 to 37
inclusive}
C CAT, {delete "CAT"
buffer}
C MAN, BOY,.,* {change "MAN"
current line to
buffer}
C ABC,DEF,LOG,<PERK {change "ABC" to "DEF" , from the
line which has the label "LOG" in
the label field, to one line less
than the line which has "PERK" in
the label field}
NOTE: The C command processes each changed line through the syntax
check routine. If a change is made which would result in an erroneous
line, the E command will be invoked permitting corrections to the
offending line. Although the C command continues after the line is
deemed acceptable, the outcome may not be the desired results. The C
command can be terminated immediately after the "force" edit, by
pressing the <ENTER> and <BREAK> keys simultaneously. The C command
can be directed to bypass the syntax checking by using an explanation
mark for OPT. (User beware!)
throughout
the text
to "BOY",
from the
the end of
the text
ZEUS COMMAND DETAIL
D - Delete specific line(s) from the text buffer.
Syntax
DRELNUM1, [RELNUM2]<ENTER>
The D command will remove lines from RELNUMl to RELNUM2 inclusive. If
RELNUM1 is not specified, then the current line is used. If RELNUM2 is
not specified, then RELNUM2 defaults to RELNUMl. If RELNUM2 is
specified, then RELNUM2 must be equal to or greater than RELNUMl.
EXAMPLE:
{current line * 37}
D,.
D
D,
D.
D.,
D37
D#,.
D.,*
D43,
{delete
line
37}
{delete
line
37}
{delete
line
37}
{delete
line
37}
{delete
line
37}
{delete
line
37}
{delete
lines 1 to
{delete
lines 37
buffer}
37 inclusive}
to the end
of the text
{results in}
parameter error {RELNUM2 cannot be less than
RELNUMl}
EXAMPLE:
D 43,22 {results in}
22 < — parameter error
EXAMPLE:
00075
RET
00076
LOOP
LD
A, (HL)
00077
INC
HL
00078
OR
A
00079
RET
Z
00080
DJNZ
LOOP
00081
DOG
LD
HL,MOKE
00082
CALL
BOTTLE
Lines 76 to 80 may be deleted by one of the following
1) D76,80
2) D76,<81
3) D76,<DOG
4) D<77,80
5) D<77,<81
6) D<77,<DOG
7) DLOOP,80
8) DL00P,<81
9) DLOOP,<DOG
ZEUS COMMAND DETAIL
E - Edit specific text line.
Syntax
ERELNUM<ENTER>
The E command will permit the user to modify the contents of a text
line. If RELNUM is not specified, then the current line is used. When
the E command is invoked, the line will be printed with a small
transparent rectangle cursor at the first position, and a block at the
end of the line. Concurrently the <DOWN-ARROW> and <CLEAR> keys become
function keys, and the user will be in the overstrike mode. In the
overstrike mode, any non-control key will replace the character at the
cursor position.
In the insert mode, indicated by the small rectangle cursor becoming a
large rectangle cursor, any non-control character will be inserted at
the cursor position, and the balance of the line moved right one
position. The insert mode will drop the 128th character if the number
of characters in a line would exceed 127.
Control keys which do not overstrike or insert.
Edit functions:
The edit functions are implemented by pressing one of the function
keys (<CLEAR> or <DOWN-ARROW>) with one appendage, and, while keeping
this key held down, press one of the four keys listed below:
A
D
H
abort changes and start editing again.
delete character at cursor.
delete all characters from cursor to end of
line .
shift between overstrike and insert.
Cursor moves:
<RIGHT-ARROW>
<LEFT-ARROW>
<SHIFTXRIGHT-ARROW>
<SHIFTXLEFT-ARROW>
move right 1 character position (to tab use
<SHIFTXSPACE>) .
move left 1 character position.
move to end of line.
move to beginning of line.
Other control keys
<BREAK>
<ENTER>
abort EDIT and
changes.
leave the line without any
process the modified line through the syntax
check routine. If no error is found, replace the
edited line with the modified line, and exit the
E command. If an error is found, then the E
command will disable <BREAK>, place the edit
function in the overstrike mode, and position
the cursor at the first character in the
potentially erroneous symbolic field.
Page 3-8
ZEUS COMMAND DETAIL
F - Print line with the specified label.
Syntax FLABEL<ENTER>
The F command will search from line one for LABEL in the label fields,
and print the line if found. The LABEL is mandatory with the F
command. If LABEL is null, then
Label not specifiedl
will be printed. If the LABEL does not exist in the label field, then
Label or line not found,
will be printed.
G - Set printer values.
Syntax GL,W,P<ENTER>
or
Syntax G<ENTER>
The G command sets up the parallel lineprinter characteristics for
ZEUS forms. The parameters are: L - the number of printed text lines
per page, W = the maximum number of characters printed before ZEUS
forms will send a carriage return, and P ■ the number of physical
lines per page.
G <ENTER> will print the current forms settings.
EXAMPLES:
G 50,80,52<ENTER> {Lprint 50 text lines, of 80 characters
maximum on a 52 line page. (11" for
QUICK PRINTER) }
G 80,132,88<ENTER> {Lprint 80 text lines, of 132 characters
maximum on a 88 line page.}
G 60,80,6<ENTER> {Lprint 60 text lines, of 80 characters
maximum on a 66 (see NOTE!) line page,
(normal default for most parallel
printers) }
NOTE: If P is less than L, then P is
added to L.
Paae 3-9
ZEUS COMMAND DETAIL
H - LPrint line(s) .
Syntax HRELNUM1,RELNUM2<ENTER>
The H command will print and Lprint RELNUMl to RELNUM2 inclusive. If
RELNUM1 is not specified, then the current line is used. If RELNUM2 is
not specified, then RELNUM2 defaults to RELNUMl. If RELNUM2 is
specified, then RELNUM2 must be equal to or greater than RELNUMl.
The H commands links the linepr inter to the video monitor.
I - Insert lines.
Syntax IRELNUM<ENTER>
The I command is used to insert or add source code into the text
buffer immediately behind RELNUM. If RELNUM is not specified then the
current line is used. I0<ENTER> is used to insert a line ahead of the
text buffer (new line one) .
The I command will print, a five digit line number one unit higher
than RELNUM followed by a space, and wait for the user to key in text.
After a text line is keyed in and terminated with <ENTER>, the line is
processed through the syntax check routine. If no error is found, then
the line is inserted into the text buffer. If an error is found, the I
command is suspended, <BREAK> disabled, the E command invoked, with
the edit function in the overstrike mode, and the cursor positioned at
the first character in the potentially erroneous symbolic field. When
subsequent modifications correct the erroneous line, then the I
command will resume.
The I command continues to print a line number one unit higher than
the previously entered line and await user input until <BREAK>, which
will return the user to the command mode.
ZEUS COMMAND DETAIL
J - Raw data to Lprint.
Syntax J<ENTER> {Software top of form.}
Syntax Jdata<ENTER> {will send data directly to
printer.}
EXAMPLES:
J27,69 J 1BH,45H J 27, 'E* J 1BH V 'E'
J 'Z'/e' , % u % , 's',13<ENTER> {will Lprint "Zeus".}
J <ENTER> {will determine how many software lines
remain to top of form, and generate linefeeds
to match.}
K - Kill filespec.
Syntax Kf ilespec<ENTER> {auto "/ASM".}
L - Load source file.
Syntax L[0PT1] [filename] [0PT2]<ENTER> {auto "/ASM".}
If 0PT1 = #, then load a ASCII format file.
If 0PT1 = *, then load a EDTASM format file.
If 0PT1 = %, then load a EDTASM format file without header.
0PT2 is used in conjunction with 0PT1 to tell ZEUS to skip over 0PT2
number of lines before loading source code into the text buffer.
If text already in buffer, then
Append to buffer?
will be printed. Respond <Y>, <N> f or <BREAK>. If the filename was not
entered in the command prompt, then
Filespec :
will be printed. Enter filespec or <BREAK>.
EXAMPLE:
L*SUPER 3000<ENTER>
This command directs ZEUS to load the EDTASM format
file SUPER/ASM, starting with the 3001th source text
line.
ZEUS COMMAND DETAIL
M - Move/duplicate text lines*
Syntax M[0PT]RELNUM1,RELNUM2,RELNUM3<ENTER>
The M command will move RELNUM1 to RELNUM2 inclusive behind RELNUM3.
If RELNUM1 is not specified, then the current line is used. If RELNUM2
is not specified, then RELNUM2 defaults to RELMUM1. If RELNUM2 is
specified, then RELNUM2 must be equal to or greater than RELNUM1.
RELNUM3 must be greater than RELNUM2 or less than RELNUM1. If RELNUM3
is not specified then RELNUM3 defaults to RELNUM2 (error).
If OPT - 1, then the lines in the range of RELNUM1 to RELNUM2
inclusive are duplicated behind RELNUM3.
EXAMPLE:
Mi,,< {duplicates current line at current line.}
N - New text buffer.
Syntax N<CLEARXENTER>
Resets all pointers. {Recoverable via "X"}
- Opcode/operand reference.
Syntax 0[0PT]STRKENTER>
The command will search from line one for the first occurrence of
STR1. STR1 can be any combination of labels, tabs, opcodes, or
operands.
If OPT = #, then the command will print all lines with STR1.
EXAMPLE:
LD{TAB}A, (HL)<ENTER> {locates LD A, (HL).}
If STR1 is located, then subsequent 0<ENTER>'s will find the next
occurrence of STR1 until
Text end.
is printed, at which time the reference search will restart at line
one.
If STR1 is located, then 0#<ENTER> will print all remaining line
numbers with STR1.
Page 3-12
ZEUS COMMAND DETAIL
P - Print line(s)
Syntax PRELNUM1,RELNUM2<ENTER>
The P command will print text lines from RELNUM1 to RELNUM2 inclusive
to the video monitor. If RELNUM1 is not specified, then the current
line is used. If RELNUM2 is not specified, then RELNUM2 defaults to
RELNUM1. If RELNUM2 is specified, then RELNUM2 must be equal to or
greater than RELNUM1.
Q - Exit ZEUS.
Syntax Q<CLEARXENTER>
R - REFERENCE
Syntax R[OPT] STRKENTER>
The R command will search from line one for the first occurrence of
STR1. STR1 can be ASCII text and not opcodes and/or operands. The
command is used to find opcodes and/or operands.
If OPT = #, then the R command will print all lines with STR1.
EXAMPLE:
R DOGGY<ENTER> {locates DOGGY.}
If STR1 is located, then subsequent R<ENTER>'s will find the next
occurrence of STR1 until
Text end.
is printed, at which time the reference search will restart at line
one .
If STR1 is located, then R#<ENTER> will print all remaining line
numbers with STR1.
S - Save filespec.
Syntax S[0PT1] [filename] <ENTER> {auto "/ASM"}
If 0PT1 = #, then save is in ASCII format.
If 0PT1 = *, then save is in EDTASM format.
If 0PT1 = %, then save in EDTASM format without header.
Page 3-13
ZEUS COMMAND DETAIL
T - Sorted label table printing.
Syntax T[nn]<ENTER>
nn ■ 1 to 252
The T command will sort the label table in ascending alphanumeric
order, then print its contents in the format:
LABEL 0000 LABEL 0000 LABEL 0000 LABEL 0000 LABEL 0000
nn is the width of device to receive the label table. If nn « or nn
is null, then the device width will default to 64.
Once an assemly has gone through the first phase, the label table is
completed. However, a disk I/O error, or the completion of one of the
following commands C, D, E, I, L, M, N,or Q will reset the label
table.
U - Memory usage.
Syntax U<ENTER>
The U command will print the memory used by the resident source text;
and, if the assembler has completed phase one, the memory used by the
label table, and GET files. In addition, the amount of free memory is
printed.
EXAMPLE: {File Z80E/ASM with ZEUS forms.}
U<ENTER>
09466 source {source text usage.}
00045 table {memory for lables in label table.}
00000 GET {memory GET files used.}
25119 free {unused.}
X - Recover source text on reentry to ZEUS.
Syntax <X>
If "X" is the first key pressed upon entry to ZEUS, then
nnnnn text lines.
will be printed, with nnnnn being the number of recovered lines.
If the "X" key, inadvertenly, was not the first key pressed, exit and
try again.
Page 3-14
•ZEUS*
•ZEUS* is an small disk operating system, with only one utility. This
utility, $/CMD (for file copying), is customized to work with *ZEUS*
only!
Although *ZEUS* is supplied single density diskette, *ZEUS* will
communicate with double density media in a machine equipped with a
double density disk controller. *ZBUS* has automatic hardware
recognition, as well as automatic density recognition.
♦ZEUS* has five single keystroke commands.
= DIR :0
1 = DIR :1
2 = DIR :2
3 - DIR :3
<ENTER> = repeat last DOS input.
These single keystroke commands only work if they are the first key
pressed after receiving the "OK" prompt, or after <BREAK> is pressed.
LIBRARY COMMANDS
•ZEUS* has 24 library commands. These commands are listed below with a
brief description. All commands are terminated with <ENTER>.
APPEND filespecl to filespec2 - add filespecl to the end of filespec2.
AUTO doscmd - automatic, invincible, operation of a command or
executable file on powerup/reboot.
BOOT - reboot system.
CLEAR - zero memory from 5200H to TOPMEM.
CLOCK (ON) or CLOCK (OFF) - enable/disable time printing in the upper
right-hand corner of the video.
CONFIG[ [:][drn] (param [ ,param] ) ] - set default power-up drive
attributes.
Param may be:
STEP=nn where nn is the stepping speed of drive drn.
DENSITY=q where q is the default density of drive drn.
SIDES=ss where ss is the number of sides on drive drn.
CONFIG<ENTER> echo's system disk's configuration.
CONFIG (?)<ENTER> echo's RAM's current configuration.
CONFIG (X)<ENTER> writes RAM's configuration onto the system diskette
and removes all SKIP'S.
DATE[ mm/dd/yy] - set date to mm/dd/yy. DATE<ENTER> prints time and
♦ZEUS*
DIR[ [:Jd][(opt] [,...])] - print directory of diskette in drive d. All
visible files are displayed.
opt may be: A, I f K, P, or S.
A - print directory with file attributes*
1 - include invisible files in directory printing.
K - include killed files in directory printing.
P - link printeer to printer.
S - include system files in directory printing.
DUMP f ilespec (START^X'ssss' , END^X'eeee' [ , TRA-X' tttt' ] [ ,CIM] [ , TITLE] )
Transfer the contents of memory from ssss to eeee inclusive to disk.
This command will insert the extension */CMD" if none is specified,
ssss, eeee and tttt are 4 digit hexadecimal addresses, eeee must be
greater than ssss. tttt is optional, and specifies the entry point for
execution of the file. CIM specifies directs transfer to diskette
sectors without 'load marks'. TITLE will place a title block at the
beginning of the file's contents.
FORMS[ (param] [ , paraml] [ ,param2) ] - set printout parameters.
Where param:
I intialize line counter and character counter to zero.
w=www www=l to 254 (the maximum width of print line in
characters) . If www ■ 255 infinite width.
P=ppp PPP=1 to 255 (the page length in print lines).
T=ttt ttt=l to 255 (the printed TEXT in print lines).
S=sss sss=l to 127 (the blank spaces between blocks of printed
TEXT) .
X Writes the current W, P, and T values to the system diskette
for default parameters on subsequent power-ups.
N=nn nn = nulls after linefeed.
L send linefeed after carriage return.
C directs printer output to RS-232-C (Model III only).
FREE - print the number of available file spaces, free granules, and
kilobytes of disk space on all mounted diskettes.
KILL f ilespec - remove f ilespec form the active roll.
LIB - print *ZEUS* library commands.
LIST filespec - print filespec to the video monitor.
LOAD filespec - load filespec from diskette into RAM and return to OK
prompt. The file is not executed.
Page 4-2
•ZEUS*
PATCH filespec (REOnn, [BYTE=yy] ) bl [;b2] [ ;b3] [ . . . ] - modify the
contents of a diskette file, nn specifies the physical record in the
filespec. The first record is 0. yy is the relative byte in the
physical record nn. yy can be to 255 decimal (0 to FF hexadecimal).
The physical record, nn, will automatically advance if b2 up causes
relative byte, yy, to exceed 255 decimal.
PRINT filespec - lprint the filespec to the printer.
RENAME #filespecl [to] filespec2 - change the name of filespecl to
filespec2. If •#• is specified, then the renamed file's date will be
changed to the current RAM date. Filespec2 will retain the protection
level, password, and directory attributes of filespecl. Filespec2
cannot already exist on the diskette.
RESTOR filespec:d - recover a file that was inadvertantly killed. The
drive number is mandatory.
SETCOM[ ([BAUD=r] [,s] [,W0RD=1] [,STOP=b] [ ,p] [,t] [,DTR] [,RTS] [,w])]
Set RS-232-C parameters. (MODEL III only)
r = baud rate. s * ODD or EVEN parity.
1 = word length. b * stop bits.
p = PD or PE - parity disabled or parity enabled.
t = TD or TE - transmit disabled or transmit enabled.
DTR = DTR set DTR high, otherwise low.
RTS = RTS set RTS high, otherwise liw.
w = WAIT or NOWAIT.
SETDIR[ [:]d] (type) - alter the directory cylinder Data Address Marks
on a single density diskette. (MODEL I only)
type = for MODEL I
type = N for MODDEL III
SKIP[ [:]d] - read a 40 track diskette in 80 track disk drive "d". If
"d" is not specified remove all SKIPS.
TIME[ hh:mm:ss] - set time to hh:mm:ss. TIME<ENTER> prints time and
date currently stored in RAM.
TOPMEM ddddd, TOPMEM Hnnnn , or TOPMEM nnnnH - set TOPMEM.
ddddd = a decimal number from 28671 to 65535 inclusive, nnnn = a
hexadecimal number from 6FFF to FFFF inclusive. To display TOPMEM, key
TOPMEM <ENTER>.
VERIFY (ON) or VERIFY (OFF) - reread sectors for parity errors.
Page 4-3
♦ZEUS*
$/CMD - Duplicate a single file.
This utility will copy a single file from one diskette to another.
If the filespec for the destination diskette is the same as the source
diskette, then the filename does not have to be entered twice.
$ TEST/ASM: 2 1
If the destination diskette's drivespec is the same as the first, then
the user will be prompted to swap diskettes.
$ TOKEN/ASM: 2 TO PACK/ASM: 2
Whenever drive zero is specified, a "$" must precede the filespec,
and the user will be double prompted to swap diskettes.
$ $ZEUS:0
The user will receive the message:
Press "ENTER" when a ZEUS system diskette is in drive 0.
or
Insert *ZEUS* <ENTER>.
This message is printed even if the *ZEUS* diskete is in drive zero.
Page 4-4